package com.pubinfo.passbook.common.service.dubbo;

import com.pubinfo.passbook.common.model.bo.eip.ReceiveTaskParam;
import com.pubinfo.passbook.common.model.bo.eip.ReceiveTaskResult;
import com.pubinfo.passbook.common.model.bo.uccp.ShortMessageParam;
import com.pubinfo.passbook.common.model.dubbo.ESBServiceData;
import com.pubinfo.passbook.common.model.eop.ApplyParam;
import com.pubinfo.passbook.common.model.shortMessage.QueryMessageBodyParam;
import com.pubinfo.passbook.common.model.shortMessage.QueryMessageReply;
import com.pubinfo.passbook.common.model.vo.base.JsonResult;

import java.util.Collection;

public interface DubboService {

    /**
     * 根据身份证号,获取人员状态
     *
     * @param idNo
     * @return
     */

    String getPersonsDetailByStatus(String idNo);

    ESBServiceData.CertDetail getPersonsDetailByIdNo(String idNo);

    /**
     * 根据身份证号,获取人员账号
     *
     * @param idNo
     * @return
     */
    String getPersonsDetailByAcct(String idNo);

    JsonResult<Collection<ESBServiceData.CertDetail>> getPersonsDetailByAcct(ESBServiceData.Cert cert);

    /**
     * 发送短信服务,返回是否成功
     *
     * @param param
     * @return
     */
    Boolean sendShortMessage(ShortMessageParam param);

    QueryMessageReply queryMessage(QueryMessageBodyParam param);

    /**
     * 统一平台订单受理
     */
    String orderApply(ApplyParam applyParam);

    String getUserNsrsbhByAcct(String acct);

    ReceiveTaskResult receiveTaskInfo(ReceiveTaskParam taskParam);

    ReceiveTaskResult finishedTask(String taskId);
}
